package com.cskaoyan.mapper;

import com.cskaoyan.bean.admin.promotion.vo.GoodsVo;
import com.cskaoyan.bean.pojo.Category;
import com.cskaoyan.bean.pojo.Goods;
import com.cskaoyan.bean.pojo.GoodsExample;

import java.util.ArrayList;
import java.util.List;

import com.cskaoyan.bean.admin.statement.StatGoodsRowsBeanVo;
import com.cskaoyan.bean.wx.goods.bo.PageInfoWxBO;
import com.cskaoyan.bean.wx.goods.vo.ListVo;
import org.apache.ibatis.annotations.Param;

public interface GoodsMapper {
    long countByExample(GoodsExample example);

    int deleteByExample(GoodsExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Goods record);

    int insertSelective(Goods record);

    List<Goods> selectByExampleWithBLOBs(GoodsExample example);

    List<Goods> selectByExample(GoodsExample example);

    Goods selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Goods record, @Param("example") GoodsExample example);

    int updateByExampleWithBLOBs(@Param("record") Goods record, @Param("example") GoodsExample example);

    int updateByExample(@Param("record") Goods record, @Param("example") GoodsExample example);

    int updateByPrimaryKeySelective(Goods record);

    int updateByPrimaryKeyWithBLOBs(Goods record);

    int updateByPrimaryKey(Goods record);


    List<StatGoodsRowsBeanVo> statGoods();//admin/stat/goods

    List<GoodsVo> searhcGoodsList(PageInfoWxBO bo, String keyword);

    List<Category> searchCategoryList(@Param("ids") ArrayList ids);

    List<GoodsVo> selectWxGoodsList(@Param("bo") PageInfoWxBO bo);

    List<Integer> selectCategoryListInCondition(@Param("bo") PageInfoWxBO bo);
}